/**  
* @Title: CrShopsService.java
* @Package com.lemon.service.cityRun
* @Description: (一句话阐述):
* @author Ran_cc
* @date 2018年10月20日
* @version V1.0  
*/
package com.lemon.service.cityRun;

import java.util.List;
import java.util.Map;

import com.lemon.model.cityRun.CrShopPrinter;
import com.lemon.model.cityRun.CrShopSet;
import com.lemon.model.cityRun.CrShopUser;
import com.lemon.model.cityRun.CrShops;

/**
 * <p>Title: CrShopsService</p>
 * <p>Description: 
 * </p>
 * <p>Company: </p>
 * @author Ran_cc
 * @date 2018年10月20日
 * @版本 V 1.0 
 */
public interface CrShopsService {

	/**
	 * <b>Description:<blockquote> 查询门店列表
	 * </blockquote></b>
	 * 
	 * @Title: selectListBySelective
	 * @param shop
	 * @return
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年10月20日
	 */
	List<CrShops> selectListBySelective(CrShops shop) throws Exception;

	/**
	 * <b>Description:<blockquote> 根据id 查询店铺信息
	 * </blockquote></b>
	 * 
	 * @Title: selectShopById
	 * @param shop
	 * @return
	 * @author Ran_cc
	 * @date 2018年10月20日
	 */
	CrShops selectShopById(String id) throws Exception;

	/**
	 * <b>Description:<blockquote> 修改商店信息
	 * </blockquote></b>
	 * 
	 * @Title: updateShopInfo
	 * @param shop
	 * @return
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年10月20日
	 */
	int updateShopInfo(CrShops shop) throws Exception;

	/**
	 * <b>Description:<blockquote>
	 * </blockquote></b>
	 * 
	 * @Title: insertShopsAndSUserInfo
	 * @param u
	 * @param s
	 * @author Ran_cc
	 * @date 2018年10月21日
	 */
	int insertShopsAndSUserInfo(CrShopUser u , CrShops s) throws Exception;

	/**
	 * <b>Description:<blockquote> 根据店铺id 查询店铺以及经营者信息
	 * 
	 * @Title: selectShopAndUserBySel
	 * @param css
	 * @return
	 * @throws Exception
	 * @author Ran_cc
	 * @date 2018年10月21日
	 */
	CrShops selectShopAndUserBySel(CrShops css) throws Exception;

	/**
	 * <b>Description:<blockquote> 修改店铺资料, 包括经营者的信息
	 * </blockquote></b>
	 * 
	 * @Title: updateShopAndUserInfo
	 * @param shop
	 * @return
	 * @author Ran_cc
	 * @date 2018年10月22日
	 */
	int updateShopAndUserInfo(CrShops shop , CrShopUser user) throws Exception;

	/**
	 * <b>Description:<blockquote> 查询待审核列表
	 * </blockquote></b>
	 * 
	 * @Title: selectAuditListBySelective
	 * @param shop
	 * @return
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年10月22日
	 */
	List<CrShops> selectAuditListBySelective(CrShops shop) throws Exception;

	/**
	 * <b>Description:<blockquote> 根据shopid 查询门店设置信息
	 * </blockquote></b>
	 * 
	 * @Title: selectShopSetByShopId
	 * @param shop
	 * @return
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年11月1日
	 */
	CrShopSet selectShopSetByShopId(CrShopSet shop) throws Exception;

	/**
	 * <b>Description:<blockquote> 修改门店设置信息
	 * </blockquote></b>
	 * 
	 * @Title: updateShopSetByShopId
	 * @param shop
	 * @return
	 * @author Ran_cc
	 * @date 2018年11月1日
	 */
	int updateShopSetByShopId(CrShopSet shop) throws Exception;

	/**
	 * <b>Description:<blockquote> 添加一条门店设置信息
	 * </blockquote></b>
	 * 
	 * @Title: insertShopSetInfo
	 * @param shop
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年11月1日
	 */
	void insertShopSetInfo(CrShopSet shop) throws Exception;

	/**
	 * <b>Description:<blockquote> 获取店铺打印机的列表
	 * </blockquote></b>
	 * 
	 * @Title: selectPrintListBySelective
	 * @param printer
	 * @return
	 * @author Ran_cc
	 * @date 2018年11月3日
	 */
	List<CrShopPrinter> selectPrintListBySelective(CrShopPrinter printer) throws Exception;

	/**
	 * <b>Description:<blockquote> 添加打印机信息
	 * </blockquote></b>
	 * 
	 * @Title: insertPrintSelective
	 * @param printer
	 * @return
	 * @author Ran_cc
	 * @date 2018年11月3日
	 */
	int insertPrintSelective(CrShopPrinter printer) throws Exception;

	/**
	 * <b>Description:<blockquote> 修改打印机信息
	 * </blockquote></b>
	 * 
	 * @Title: updatePrintSelective
	 * @param printer
	 * @return
	 * @author Ran_cc
	 * @date 2018年11月3日
	 */
	int updatePrintSelective(CrShopPrinter printer) throws Exception;

	/**
	 * <b>Description:<blockquote>数据统计查询
	 * </blockquote></b>
	 * 
	 * @Title: getDataStatisInfo
	 * @return
	 * @author Ran_cc
	 * @param crShops
	 * @throws Exception
	 * @date 2018年11月5日
	 */
	Map<String , Object> getDataStatisInfo(CrShops crShops) throws Exception;

	/**
	 * <b>Description:<blockquote> 查询每个商店的订单数以及盈利信息
	 * </blockquote></b>
	 * 
	 * @Title: getShopOrderProfitInfo
	 * @param crShops
	 * @return
	 * @author Ran_cc
	 * @date 2018年11月5日
	 */
	List<CrShops> getShopOrderProfitInfo(CrShops crShops) throws Exception;

	////////////////////////////////客户端获取店铺位置信息///////////////////////////
	/**
	 * <b>Description:<blockquote>客户端获取店铺位置信息
	 * </blockquote></b>
	 * 
	 * @Title: selectxListBySelective
	 * @param shop
	 * @return
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年11月7日
	 */
	List<CrShops> selectxListBySelective(CrShops shop) throws Exception;

	/**
	 * <b>Description:<blockquote> 根据店铺id查询店铺信息以及活动信息
	 * </blockquote></b>
	 * 
	 * @Title: selectShopAndAtvByPrimaryKey
	 * @param id
	 * @return
	 * @author Ran_cc
	 * @throws Exception
	 * @date 2018年11月9日
	 */
	CrShops selectShopAndAtvByPrimaryKey(String id) throws Exception;



}
